home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 2: CDPD 1 / Almathera Ten on Ten - Disc 2: CDPD 1.iso / pd / 301-325 / 325 / farprint / link.asm < prev    next >
Assembly Source File  |  1995-03-14  |  1KB  |  82 lines

  1.     INCLUDE 'exec/types.i'
  2.     INCLUDE 'exec/nodes.i'
  3.     INCLUDE 'exec/libraries.i'
  4.  
  5.     LIBINIT
  6.     LIBDEF    _LVOSendText
  7.     LIBDEF    _LVORequestNumber
  8.     LIBDEF    _LVORequestString
  9.  
  10.     ; Note: the Aztec assembler does not get along with
  11.     ; the SECTION definitions. To assemble this module
  12.     ; with any other assembler replace DSEG/CSEG by
  13.     ; the keyword following the semicolon.
  14.  
  15.     DSEG    ; SECTION DATA
  16.  
  17. SafeKeep:
  18.     DS.L    14
  19.  
  20.     CSEG    ; SECTION CODE
  21.  
  22.     ; --- xref from application
  23.  
  24.     XREF    _FarBase
  25.  
  26.     ; --- xdef for application
  27.  
  28.     XDEF    _SendText
  29.     XDEF    _RequestNumber
  30.     XDEF    _RequestString
  31.  
  32.     ; Sorry, the text formatting routine did not
  33.     ; move to the library. I had too many crashes trying
  34.     ; to implement it, so you'll find it below in the
  35.     ; library glue routines.
  36.  
  37. _SendText:
  38.     MOVEM.L    D2-D7/A2-A5,SafeKeep
  39.  
  40.     LINK    A5,#-512
  41.     MOVEM.L    D1/A0-A3,-(SP)
  42.  
  43.     MOVEA.L    8(A5),A0
  44.     LEA    12(A5),A1
  45.     LEA    kput1(PC),A2
  46.     LEA    -512(A5),A3
  47.     MOVE.L    4,A6
  48.     JSR    $FFFFFDF6(A6)
  49.     
  50.     LEA    -512(A5),A0
  51.  
  52.     MOVE.L    A5,-(SP)
  53.     MOVE.L    A0,-(SP)
  54.  
  55.     MOVE.L    _FarBase,A6
  56.     JSR    _LVOSendText(A6)
  57.  
  58.     ADD.W    #4,SP
  59.     MOVE.L    (SP)+,A5
  60.  
  61.     MOVEM.L    (SP)+,D1/A0-A3
  62.     UNLK    A5
  63.  
  64.     MOVEM.L    SafeKeep,D2-D7/A2-A5
  65.     RTS
  66.  
  67. kput1:    MOVE.B    D0,(A3)+
  68.     RTS
  69.  
  70. _RequestNumber:
  71.     MOVE.L    4(SP),A0
  72.     MOVE.L    _FarBase,A6
  73.     JMP    _LVORequestNumber(A6)
  74.  
  75. _RequestString:
  76.     MOVE.L    4(SP),A0
  77.     MOVE.L    8(SP),A1
  78.     MOVE.L    _FarBase,A6
  79.     JMP    _LVORequestString(A6)
  80.  
  81.     END
  82.